Field of the Invention
The present invention generally relates to computer science and, more specifically, to a migrating pages of different sizes between heterogeneous processors.
Description of the Related Art
A typical computer system includes a central processing unit (CPU) and one or more parallel processing units (GPUs). Some advanced computer systems implement a unified virtual memory architecture common to both the CPU and the GPUs. Among other things, the architecture enables the CPU and the GPUs to access a physical memory location using a common (e.g., the same) virtual memory address, regardless of whether the physical memory location is within system memory or memory local to the GPU.
In such unified virtual memory architectures, memory pages may advantageously be sized differently depending on whether the memory pages are stored in memory units associated with the CPU or the GPUs. One drawback to having differently sized memory pages, though, is that migrating the memory pages between those different memory units becomes more complicated. For example, one difficulty that may arise is with migrating a large memory page to a memory unit that only stores small memory pages. In such a situation, the unified virtual memory architecture must decide how to accommodate this discrepancy in page sizes.
As the foregoing illustrates, what is needed in the art is a more effective approach to migrating memory pages of different sizes in systems that implements a unified virtual memory architecture.